﻿using System.Collections.Generic;

namespace KZ.Express.Order.Order
{
    public partial class ErrorView : FormBase
    {
        public ErrorView()
        {
            InitializeComponent();
            this.TopLevel = true;
            SetMessage(string.Empty, true);
        }

        public Dictionary<string, Dictionary<int, string>> Errors
        {
            set
            {
                int count = 0;
                foreach (KeyValuePair<string, Dictionary<int, string>> item in value)
                    count += item.Value.Count;

                if (count > 0)
                {
                    dtgError.Rows.Add(count);
                    int index = 0;
                    foreach (KeyValuePair<string, Dictionary<int, string>> item in value)
                        foreach (KeyValuePair<int, string> i in item.Value)
                        {
                            dtgError[colSheet.Index, index].Value = item.Key;
                            dtgError[colRow.Index, index].Value = i.Key;

                            string message = i.Value;
                            switch (i.Value)
                            {
                                case "BLM_ERR_CODE_EXISTS":
                                    message = "Số bill bị trùng";
                                    break;
                                case "BLM_ERR_DATE_REQUIRE":
                                    message = "Thiếu ngày";
                                    break;
                                case "BLM_ERR_WEIGHT_REQUIRE":
                                    message = "Thiếu trọng lượng";
                                    break;
                                case "BLM_ERR_TYPE_REQUIRE":
                                    message = "Thiếu loại bill";
                                    break;
                                case "BLM_ERR_CUSTOMERCODE_NOT_EXIST":
                                    message = "Mã khách hàng không tồn tại";
                                    break;
                                case "BLM_ERR_COUNTRYCODE_NOT_EXIST":
                                    message = "Mã quốc gia không tồn tại";
                                    break;
                                case "BLM_ERR_CUSTOMERCODE_REQUIRE":
                                    message = "Thiếu mã khách hàng";
                                    break;
                                case "BLM_ERR_COUNTRYCODE_REQUIRE":
                                    message = "Thiếu mã nước";
                                    break;
                            }

                            dtgError[colError.Index, index].Value = message;
                            index++;
                        }
                }
            }
        }
    }
}